/*
 * @Author: ShiJunJie
 * @Date: 2021-08-03 14:25:29
 * @LastEditors: ShiJunJie
 * @LastEditTime: 2021-09-07 17:01:53
 * @Descripttion:
 */
import vue from '@vitejs/plugin-vue'
import path from 'path'
import viteCompression from 'vite-plugin-compression'
import viteSvgIcons from 'vite-plugin-svg-icons'

// https://cn.vitejs.dev/config/
// vite.config.js # or vite.config.ts

module.exports = {
  plugins: [
    vue(),
    viteSvgIcons({
      // 配置路劲在你的src里的svg存放文件
      iconDirs: [path.resolve(process.cwd(), 'src/assets/icons-svg')],
      symbolId: 'icon-[dir]-[name]'
      // symbolId: 'icon-[name]'
    }),
    viteCompression({
      verbose: true,
      disable: false,
      threshold: 10240,
      algorithm: 'gzip',
      ext: '.gz'
    })
  ],
  cacheDir: './viteCacheDir',
  resolve: {
    alias: {
      // 键必须以斜线开始和结束
      '/@': path.resolve('./src')
    }
  },
  hostname: '127.0.0.1',
  port: 3000,
  // 是否自动在浏览器打开
  open: false,
  // 是否开启 https
  https: false,
  // 服务端渲染
  ssr: false,
  /**
   * 在生产中服务时的基本公共路径。
   * @default '/'
   */
  base: './',
  /**
   * 与“根”相关的目录，构建输出将放在其中。如果目录存在，它将在构建之前被删除。
   * @default 'dist'
   */
  outDir: 'dist'
  // 反向代理，此处应该特别注意，网上很多教程是直接设置proxy，并没有向官网那样添加 server，可能会导致失败，vite官网：https://vitejs.dev/guide/features.html#async-chunk-loading-optimization
  // server:{
  //   proxy: {
  //     '/api': {
  //       target: 'https://api.pingping6.com/tools/baidutop/',
  //       changeOrigin: true,
  //       rewrite: path => path.replace(/^\/api/, '')
  //     }
  //   }
  // }
}
